/*          FILE: exception.h
 *      Language: C
 *        Author: <Qiwei Feng> <Pufan He> <Yichao Zhou>
 *       Created: 2012-03-01
 * Last Modified: 2012-03-01
 *   Description:
 *       License: GNU GPL v3
 */

#ifndef __C_H_EXCEPTION
#define __C_H_EXCEPTION

#define MAX_COMPILE_ERROR 1000

typedef struct compile_error_t {
        compile_error_type_e type;
        int row, col;
        next* compile_error_t;
} compile_error_t;

typedef enum compile_error_type_e {
        COMPILE_FINISH = 0,
        COMPILE_WARNING,
        COMPILE_ERROR
} compile_error_type_e;

error_t add_compile_error(compile_error_type_e type,
                          int row, int col,
                          char *message);

#endif /* end of include guard */

/* vim: set ft=c ts=8 sts=8 sw=8 tw=79 ff=unix et : */
